Stack
Languages and tools
Language/Framework
The REST API is built with Python 3.12.4 and Django Rest Framework 3.15.2.
Why Python and Django?
- Python: Chosen because it's the language I've been using the most recently. Its simplicity and readability make development faster and more efficient.
- Flask: Flask was the previous choice, but lots of code were being written for basic CRUD functionality. Django made development faster and more streamlined, and thus became the main choice for this project.
Tools
The tools used in the development process include:
unittest
- For automated tests.coverage
- For test coverage reports.django-cors-headers
- For cors handlingdjango-filter
- For automatic/east to configure filtering on endpointsdjangorestframework_simplejwt
- For JWT authenticationflake8
- For linting.- Docker - For containerization.
- AWS - For deployment.
- GitHub - For version control.
- GitHub Actions - For CI/CD.